package com.wzg.ftpstresstool.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = "file.generator")
public class FileGeneratorProperties {
    /**
     * 文件生成目录
     */
    private String directory;
    
    /**
     * 文件大小（字节）
     */
    private String size;
    
    /**
     * 文件数量
     */
    private int count;
    
    /**
     * 文件名前缀
     */
    private String prefix;
    
    /**
     * 文件名后缀
     */
    private String suffix;
    
    /**
     * 记录文件存放目录
     */
    private String recordDirectory;
    
    /**
     * 记录文件前缀，用于识别记录文件
     */
    private String recordPrefix = "record-";
    
    /**
     * 运行模式（sender发送方，receiver接收方）
     */
    private String mode = "sender";

    /**
     * 接收文件存放目录
     */
    private String receiveDirectory;
    
    /**
     * FTP接收最大重试次数
     */
    private int maxRetries = 10;
    
    /**
     * FTP接收重试间隔（毫秒）
     */
    private long retryInterval = 5000;
    
    /**
     * 获取文件大小（以字节为单位）
     * @return 文件大小（字节）
     */
    public long getSizeInBytes() {
        return FileSizeConverter.parseSize(size);
    }
}